what you don't say

Eric Wilhelm on 2008-08-04T00:42:10

"You don't have to explain what you don't say." --Sam Rayburn


That seems like possibly the most useful programming advice I've ever gotten from a politician.

But of course now that I've said that, I'll have to explain it. This might be part of the reason that I haven't taken the time to blog anything since last month. After the whirlwind week around OSCON, I've had quite a few thoughts about software (triggered as much by the hallway track as by the sessions and tutorials), but haven't really had time to write most of them down. Perhaps I should switch gears into poetry.

In short: I'm getting back to work deleting code, so that quote seemed pertinent. But of course I should not have to say it, except for that thing about forgotten history being repeated. Perhaps today's readers will avoid being the writers of tomorrow's redundancies.

I suppose it could still use a bit of clarification given that software is supposed to do something, which makes it much more like machinery than oration (sorry r0ml, now we're going to have to dust-off the patent debate or else find some way to prove the uselessness of open source watchmaking.) Thus, what you "say" in software tends to turn into moving parts -- these might be cheaper to create and easier to change than physical moving parts, but the maintenance cost of moving to non-moving parts is probably proportional enough (surely I haven't invented this metaphor of the machine (so there's that history thing again: we've been talking about objects being dogs and ponies for so long that we've forgotten all about gears and shafting?))

We'll have to revisit this metaphor later to explore ideas like why architects don't design machinery, how engineers are responsible for making sure things actually work, what skilled craftspeople have to do with the quality of execution, and when unskilled labor tends to muck up the entire works (wherein I will have to find some way to elevate the discussion above these "rude mechanicals" lest we lose the notion of software as a liberal art.) For now, I'll just try to end with a quote about not needing to test, debug, comment, and document code you didn't write.

"You don't have to oil the parts that don't move.